home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1995 October
/
EnigmA AMIGA RUN 01 (1995)(G.R. Edizioni)(IT)[!][issue 1995-10][Aminet 7].iso
/
Aminet
/
util
/
cdity
/
mcx176.lha
/
MultiCX.doc
< prev
next >
Wrap
Text File
|
1995-06-06
|
22KB
|
594 lines
------------------------------------------------------------------------
MultiCX 1.76 (7.6.95)
------------------------------------------------------------------------
MultiCX is the smallest Multi-Function-Commodity for the Amiga, thought
as a replacement for many larger and sometimes badly programmed
programs. It is a 100% pure commodity, which means that it does not use
any patches (SetFunction), no interrupts and no special input handlers.
So it can safely be disabled or removed at any time.
If you need a clean Commodity without bad hacks there's no alternative !
------------------------------------------------------------------------
Features
------------------------------------------------------------------------
- Notification
MultiCX recognizes any changes of the ToolTypes while running, so
there's no real need for a GUI.
- Screen Blanker
MultiCX includes a simple but compatible screen blanker. It always
uses the display mode which fits best to the actual front screen,
while taking the lowest resolution with only one plane.
ToolTypes:
SCRBLANK=n sets number of seconds until screen blanks,
0 means OFF
HOTBLANK=Qual&Key sets hotkey for immediate blanking
CDNOBLANK do not blank screen if Carrier is detected
(currently only supports internal serial port)
CDUNBLANK unblank screen if Carrier is detected
(currently only supports internal serial port)
AVOIDTASK=Pattern do not blank screen if OwnerTask of active
screen matches pattern
AVOIDSCREEN=Pattern do not blank screen if Title of active screen
matches pattern
LIKEWB forces cloning the WB's display mode
SCRMODE=ModeName selects a display mode by name
AVOIDTASK and AVOIDSCREEN fully support AmigaDOS pattern matching and
work case insensitive.
If LIKEWB and SCRMODE are set, SCRMODE is only used if WB is not
available for some reason. But this should never happen...
- Moire Blanker
MultiCX has a really nice screen blanker, too! It steals no processor
time from other tasks, and if it couldn't draw a line for longer than
10 seconds it falls back to a simple black screen. There are some
parameters to play with...
ToolTypes:
MOIRE selects Moire blanker
LINES=n number of lines, default is 2
TRAIL=n length of trail, default is 64
XSPEED=n x offset for next line, default is 4
YSPEED=n y offset for next line, default is 6
CSPEED=n color cycling delay, default is 16
COLOR=n drawing color, range is 1-4095
0 means Random, -1 means Color Cycling
- Mouse Accelerator
MultiCX lets you set Acceleration and Theshold (minimum movement to
activate Acceleration) for smooth mouse handling.
ToolTypes:
ACCELERATION=n sets Acceleration factor, 0 means OFF
THRESHOLD=n sets Threshold value, 0 means no Threshold
- Mouse Blanker
MultiCX blanks the mouse pointer on keypress and/or after approx. 30
seconds when no mouse movement has occured.
ToolTypes:
KEYBLANK activates MouseBlanking on keypress
TIMEBLANK activates MouseBlanking after timeout
- Screen Cycle
MultiCX allows you to cycle screens using either MiddleMouseButton or
BothMouseButtons, this is equivalent to LCOMMAND M. Additionally a
hotkey for backward cycling may be defined.
If MOUSESHIFT and SCRCYCLE are both set to MMB, then ScreenCycling
will occur on a Double-MMB-Click.
ToolTypes:
SCRCYCLE=MMB|BMB sets Screen Cycle to MMB or BMB
BACKCYCLE=Qual&Key sets Qualifier and Key for BackCycle,
none means OFF
- Mouse Shift
MultiCX lets you use the RightMouseButton or MiddleMouseButton as a
Shift-Key for extended selection.
And this is how it works with RightMouseButton:
1. Press LeftButton to select first icon and hold it.
2. Press RightButton and hold it.
3. Release LeftButton and keep RightButton pressed.
4. Now select some more icons with LeftButton.
5. To deselect an icon, click on it with LeftButton and keep it
pressed, then release RightButton and press it again.
Sounds much more complicated than it is...
ToolTypes:
MOUSESHIFT=RMB|MMB sets MouseShift to RMB or MMB
- Window Cycle
MultiCX lets you put a window to front/back by a configurable number
of LeftButton clicks. Qualifiers can be defined for both functions.
Additionally there are two hotkeys available for TopWindowToBack and
BottomWindowToTop. But only windows with a Depth Gadget are affected
by Window Cycling.
ToolTypes:
WINCYCLE=n sets number of mouse clicks for WindowCycle,
0 means OFF
WINFRONTQUAL=Qual sets Qualifier for WindowToFront
WINBACKQUAL=Qual sets Qualifier for WindowToBack
FRONT2BACK=Qual&Key sets hotkey for TopWindowToBack
BACK2FRONT=Qual&Key sets hotkey for BottomWindowToTop
- SUN-alike Window Activation
MultiCX has three different options to activate windows automatically.
All of them activate the window under the mouse pointer, SunKey does
it on every keypress, SunMouse does it after mouse movement, and
SunRMB does it after pressing the right mouse button. So SunKey and
SunMouse together seem to be rather useless.
Windows with active Gadgets (like FileRequesters etc) will never be
deactivated by one of these functions.
ToolTypes:
SUNKEY activates SunKey
SUNMOUSE activates SunMouse
SUNRMB activates SunRMB
- HoldX and HoldY
MultiCX allows you to lock a specific mouse dimension while holding a
defined Qualifier. If both Qualifiers are set to the same it locks all
mouse movements. So you are responsible for useful settings...
ToolTypes:
HOLDXQUAL=Qual sets Qualifier for HoldX, none means OFF
HOLDYQUAL=Qual sets Qualifier for HoldY, none means OFF
- Enter ASCII
MultiCX allows you to enter ASCII codes directly by pressing the RALT
key and the numbers in the numeric block, for example: <ALT> 65 = A.
Maximum 3 digits, value must not be greater than 255.
ToolTypes:
ENTERASCII activates EnterASCII
- Map Umlauts
This option might be of use for german users or other people writing
german texts. It will convert the german umlauts into the normal
character pendants.
ToolTypes:
MAPUMLAUTS activates MapUmlauts
- CapShift
This option changes the way CapsLock works. Just try activating
CapsLock, and then press some shifted letters to get an idea of it.
Hotkeys etc. are no longer affected by CapsLock.
CapShift is ignored if NoCapsLock is active.
ToolTypes:
CAPSHIFT activates CapShift
- NoCapsLock
... simply switches off CAPSLOCK completely.
ToolTypes:
NOCAPSLOCK activates NoCapsLock
- Window Close/Zoom
MultiCX allows you to close/zoom windows using pre-defined Qualifiers
and Keys.
ToolTypes:
WINCLOSE=Qual&Key sets Qualifier and Key for CloseWindow,
none means OFF
WINZOOM=Qual&Key sets Qualifier and Key for ZoomWindow,
none means OFF
- Window Remember
MultiCX remembers the last active window on every screen, and the next
time you go to that screen, this window will be re-activated
automatically.
ToolTypes:
WINREMEMBER activates WindowRemember
- CenterScreen
The active screen is centered when this hotkey is pressed. Optionally
the frontmost Screen is centered automatically as soon as it becomes
active.
ToolTypes:
CENTERSCR=Qual&Key sets Qualifier and Key for CenterScreen,
none means OFF
AUTOCENTER activates AutoCenterScreen
- HotFlush
MultiCX frees all unneeded memory when pressing this hotkey, just like
"Avail flush" does.
ToolTypes:
HOTFLUSH=Qual&Key sets Qualifier and Key for HotFlush,
none means OFF
- PopCLI
MultiCX spawns a UserShell using the given command string when
pressing the PopCLI key.
ToolTypes:
POPCLI=Qual&Key sets Qualifier & Key for PopCLI, none means OFF
POPCLICMD=Command sets command string for PopCLI, none means OFF
POPCLISTACK=n sets stacksize for PopCLI (Default: 4096)
- FrontPubScreen
If this option is activated the FrontScreen automatically will become
the actual DefaultPubScreen, as long as it is public and not private.
ToolTypes:
FRONTPUBSCR activates FrontPubScreen
- System Flags
MultiCX lets you set/change some of the internal AmigaOS flags. These
may be set, unset or left unchanged, where a parameter of 0 means
deactivate, 1 or any value >0 means activate, and putting the ToolType
in brackets (the same as removing it) means no change. Old values are
NOT restored when quitting/disabling MultiCX, but Notification may be
used at any time.
ToolTypes:
BLACKBORDER=n changes BlackBorder flag, ECS Denise needed
NOCLICK=n changes NoClick flag for all drives,
may not work with very old drives
WILDSTAR=n changes flag for extended WildCarding,
if ON "*" may be used instead of "#?"
SNDFILTER=n switch Sound filter ON/OFF
- Trackdisk Parameters
This option is used to set some parameters of trackdisk.device. If
used with care these settings could make your drives faster and less
noisy. Old values are NOT restored when quitting/disabling MultiCX,
but default values are set when disabling these Tooltypes.
ONLY USE THEM IF YOU KNOW EXACTLY WHAT YOU ARE DOING!
ToolTypes:
TDRETRY=n change TDU_RETRYCNT (Default is 10)
TDSTEP=n change TDU_STEPDELAY (Default is 3000)
TDSETTLE=n change TDU_SETTLEDELAY (Default is 15000)
TDCALIBRATE=n change TDU_CALIBRATEDELAY (Default is 4000)
- Public Screen Flags
MultiCX also lets you set/change the global Public Screen flags. These
may be locked, so that other tasks cannot change them. The values are
the same as for the System flags (see above).
ToolTypes:
POPPUBSCR=n changes PopPubScreen flag
SHANGHAI=n changes Shanghai flag
LOCKPUBFLAGS locks Public Screen flags
- Internal and External Preferences
Normally MultiCX opens a WBInfo Requester on CX_POPUP (OS 3.x only!),
but this may be replaced by an external program like MultiCXPrefs by
Michael Barsoom. BTW: Thanks for the great work, Michael!
ToolTypes:
CX_POPUP=Qual&Key sets Qualifier and Key for WBInfo or ext. Prefs
EXTPREFS=Command sets Command to execute for external Preferences
------------------------------------------------------------------------
Notes and Hints
------------------------------------------------------------------------
- MultiCX must be started from WB, CLI/Shell is not supported.
- MultiCX is 100% compatible to Commodore's specifications, so don't
complain if some bad-behaving software does not work with it.
For example: Some bad filesystems do not support Notification, some
bad gfx-board drivers do not support MouseBlanking etc...
- MultiCX's Screen Blanker uses BestModeID to find the best display
mode. Because this is impossible under AmigaOS 2.x, MultiCX uses a
special masking algorythm to find the display mode. But this relies on
the fact, that a DisplayID with all ModeKeys set to 0 exists.
Anyway you should use AmigaOS 3.x for best results.
- BlackBorder is not fully supported by AmigaOS 2.x, but should work.
- Some very old drives do not like NoClick, so switch it off at once if
your drive makes funny noises...
- If you like to toggle some of MultiCX's features using hotkeys, you
should try ToolManager 2.1 (by Stefan Becker) together with DoIcon (by
Lars Eilebrecht).
- MultiCX may be enabled, disabled or removed from within scripts by
using HandleCX (included in this archive). Should always be done when
starting nasty games...
- External Preferences programs must not use more than 4096 byte stack,
and should use ReadArgs to get needed arguments. The program is
responsible for things like protecting itself against being started
twice, popping it's screen to front etc.
In order to get the path and name of MultiCX's active icon file a
Public Semaphore has been implemented. Programs can use FindSemaphore
to get the base of the following structure:
struct MCXSemaphore
{
struct SignalSemaphore mcx_Sem;
BPTR mcx_Lock; /* Copy of my wa_Lock */
CHAR *mcx_Name; /* Ptr to Icon Filename */
}
The name of the Semaphore is "MultiCX.Semaphore". Don't forget to
protect all accesses by a Forbid/Permit pair, because the Semaphore
will be removed if MultiCX ends.
------------------------------------------------------------------------
History
------------------------------------------------------------------------
1.00 - 1.20 internal Beta releases
1.21 first public release
1.22 - Keyboard Mouse works with SUNKEY now
- SCRBLANK uses Standard Monitor now if BestModeID could
not find a valid ScreenMode
1.23 - improved MOUSESHIFT and MMBCYCLE, see details above
1.24 - removed little bug in new MMBCYCLE
1.25 - improved SCRBLANK under AmigaOS 2.x
1.30 - Signal/Message system completely rewritten to prevent
deadlock situations
- improved WINREMEMBER
- created seperate version for OS 3.x only with reduced
code overhead
1.31 - improved WINCYCLE and SUN-functions
1.32 - improved Signal/Message system and asynchronous design
- improved documentation
(Special thanks go to John C. Davis for his help)
1.33 - removed some more deadlock candidates
1.34 - removed a small message handling bug
1.35 - fixed stupid bug in WINCYCLE (I hate those typos...)
1.36 - fixed problem in WINREMEMBER which could cause
Enforcer hits under some very special conditions
1.37 - improved AutoRepeat behaviour
1.40 - Exchange's "Show Interface" or HandleCX's "POPUP"
will open WB Icons/Information now (OS 3.x only!)
- fixed bug in SCRBLANK
1.41 - implemented CX_POPKEY feature (OS 3.x only!)
- MultiCX opens WBInfo now if it is already running
and started again (OS 3.x only!)
1.42 - POPCLI Shell gets full path now (what a bad hack...;-)
- SCRBLANK, WINCYCLE, ACCELERATION and THRESHOLD no
longer accept negative values
1.45 - improved handling of windows with active menu
- implemented timeout for re-blanking of screen
- screen will be unblanked when disk is inserted
- Mouse Blanker is more compatible to (bad) graphics
boards now
- implemented POPCLISTACK ToolType
- MMBCYCLE changed to SCRCYCLE, see details above
- improved MOUSESHIFT, see details above
1.46 - deselecting an icon now works with MOUSESHIFT=MMB,
just keep LButton pressed while releasing MButton
for a short while
1.47 - Mouse Blanker changed back to old routine, because
some gfx board drivers seem to have even more problems
with ss_height > 0
- implemented HOTBLANK and LIKEWB features
1.48 - improved ENTERASCII slightly
1.49 - improved SCRCYCLE, MOUSESHIFT and ENTERASCII
- some code optimizations
1.50 - some very small bugs fixed
- overall code improvements
1.51 - implemented MOIRE Screen Blanker and some ToolTypes,
see details above
1.52 - implemented Color Cycling for MOIRE Blanker
- implemented SCRMODE ToolType
- HOTBLANK works always now, even if SCRBLANK is 0
1.53 - implemented CSPEED ToolType for Moire Blanker
1.54 - Blanker timer was not cleared on Enable/Disable
1.55 - LINES=1 or TRAIL=1 waked up the guru...
- improved Amiga-is-busy blanking
- improved CAPSHIFT to handle foreign characters (ALT)
- ENTERASCII now uses RALT only, this should prevent
problems with other software using ALT-NUMKEYs
1.56 - CX_POPKEY now brings Workbench screen to front before
opening WBInfo
- implemented Window Cycling via hotkeys, new ToolTypes
are FRONT2BACK and BACK2FRONT
1.57 - Mouse was not always blanked with HOTBLANK
1.58 - Arghhhh...
Mouse blanking still was not 100% ok, but now it is!
- some code optimizations
1.59 - fixed some problems with BMB ScreenCycling
1.60 - implemented NOCAPSLOCK
- included new version of HandleCX
1.61 - implemented FRONTPUBSCR, POPPUBSCR and SHANGHAI
- removed WBTOFRONT because it's no longer needed
1.62 - implemented CDNOBLANK for ScreenBlanker
1.63 - implemented CENTERSCR and SNDFILTER ToolTypes
1.64 - implemented MAPUMLAUTS
- implemented TDRETRY, TDSTEP, TDSETTLE and TDCALIBRATE
1.65 - fixed a potential deadlock problem
1.66 - OS3-only version did not work with Kickstart v39
because keymap.library was v37 in these OS versions
1.67 - improved unblanking of Moire Blanker
1.68 - overall code improvements
- implemented AVOIDTASK and AVOIDSCREEN
1.69 - improved BMB ScreenCycling again
- if SCRCYCLE and MOUSESHIFT are both set to MMB, then
SCRCYCLE will use a Double-MMB-Click
- implemented Semaphore for MultiCXPrefs by M.Barsoom
1.70 - fixed small bug in new MMB handling code
- implemented HOTFLUSH
- implemented EXTPREFS ToolType to support external
Preferences programs for MultiCX
1.71 - fixed possible deadlock situation in ScreenBlanker
- implemented BACKCYCLE
- included nice new icons made by Mario Cattaneo
1.72 - implemented LOCKPUBFLAGS
- improved multitasking behaviour
1.73 - implemented AUTOCENTER
- improved some routines
1.74 - implemented CDUNBLANK
1.75 - solved all problems with WBStarter and WBStart-Handler
1.76 - fixed BIG bug in ScreenBlanker which was introduced
with version 1.71 (Sorry for that!)
If nobody discovers any heavy bugs this will be the last update for some
time. Next one will be a MAJOR update, so be prepared for it...
------------------------------------------------------------------------
Author
------------------------------------------------------------------------
Martin Berndt
Fr.-Alfred-Str. 115
47226 Duisburg
Germany
E-Mail Germany: m_berndt@wanderer.dssd.sub.org
E-Mail International: m_berndt@wanderer.gun.de
Support BBS: WANDERER +49-211-463875
Login: GAST Area: WANDERER/BIN/MB-SUPPORT
------------------------------------------------------------------------
Legal Stuff
------------------------------------------------------------------------
MultiCX is GIFTWARE, so simply send me anything you like.
Gold bars, Ferraris and programming jobs in the US are prefered... ;-)
If you have no idea of what to send me, just put $10 in an envelope.
BTW: Only 16 (in words: SIXTEEN) users have sent a gift, yet. So it
seems that it's not worth the effort, because nobody is using
MultiCX. Is that true?
Copyright
---------
MultiCX is written and copyright © 1994-1995 by Martin Berndt. No parts
of this program may be altered by any means (this includes editing,
reprogramming, crunching, resourceing etc.), except archiving.
Disclaimer
----------
The author is in no way liable for any changes made to any part of the
program, or consequences thereof as he is in no way liable for damages
or loss of data directly or indirectly caused by this software.
Distribution
------------
Neither fees may be charged nor profits may be made by distributing this
piece of software. Only a nominal fee for costs of magnetic media may
be accepted, the amount of US $5 shouldn't be exceeded for a disk
containing MultiCX. CD Manufactures are specifically granted the right
to include this program on CD collections, as long as they are for the
Public Domain.